iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
1
Modern Web

鉄人28号FX系列 第 6

鉄人28号FX 鉄人6号「字級羊」font-size

  • 分享至 

  • xImage
  •  

★ 支線:返回村落路程中 ↓↓↓

顯示村落位置圖

:終於安全回到村裡,
根本就是鬧劇一場!

:ㄟ ㄟ!那個誰 )
叫我?!
嗨!叔叔好! 揮手)

:半山坡木屋旁有養了一群羊,
最近都有野狼在附近出沒,可以幫我過去看看嗎?

:好,當然沒問題!!!
(噔~噔~飛奔前往中)

:喂!喂~都還沒聽完啊!
大樹上有貼著~~
(大聲喊叫)

:真是的。


★★★ 關卡條件 ↓↓↓

字級單位(font-size)

絕對長度單位 (Absolute Lengths):是固定值,相對於彼此並固定到一些物理測量。它們主要運用於在輸出環境已知時。由物理單位與視角單位組成像素 (px),在傳統排印是很常使用的單位註記方式。

  • cm | mm | px | pt | pc | in | Q 等。

相對長度單位 (Relative Lengths):相對於另一個基準長度 (容器或視口等),在不同渲染介質之間更好地縮放,最終都取得一個「相對 pixel 值」。

  • % | ex | ch | em | rem | vw | vh | vmin | vmax 等。

半山坡邊 [字級羊]
悠然吃草聲( 翻譯蒟蒻 )

  • 除了支援各種常用單位,還有專門用於 CSS 的單位:px
  • 絕對單位之間的關係:1in = 2.54cm = 25.4mm = 72pt = 6pc
  • 相對單位之間的換算:1em = 100% = 12pt = 16px = 瀏覽器預設字級。
  • 像素在低解析度 72dpi [註1] 裝置媒體, 1px = 1pt
  • 如無特定情況下 (例:絕對對齊某元素),字級單位選擇,推薦使用「相對長度單位」。

這是否意味著不同屬性需要不同的單位表示?
並不,這一切單位與任何屬性無關,關鍵在於載體呈現:屏幕顯示或紙張印刷

推薦單位

[註1]:像素是相對於顯示器屏幕分辨率而言的。譬如 WONDOWS 的用戶所使用的分辨率一般是 96 像素 / 英吋。而 MAC 的用戶所使用的分辨率一般是 72 像素 / 英吋。


:聽見什麼嗎?
怎麼好像做了個夢? 絕對、相對!~~
好睏!完全想不起來。

٩(๑´0`๑)۶
繼續打盹。 zzZ )

謎之夢境 ↓↓↓

字級絕對單位

  • pt:點制是一個自然界標準的長度單位,也用於餘白(字距、行距)等其他版面構成要素的長度,當代最通行的是廣泛應用於電腦排版軟體的 DTP 標準,換算為數學單位是「DTP 1點 = 1pt = 0.3527mm 」。
  • px:像素被定義為螢幕顯示最小單位,並可顯示具有銳邊的水平 1px 寬線 (無抗鋸齒),取決於載體類型及其使用方式等用途。如需「文本」與「圖像」強制齊行,使用 1px 寬或 1px 的倍數,能輕鬆達到此效果。

CSS 額外定義了默認情況下,光柵圖像(如照片)顯示圖像像素映射為 1px 。

字級相對單位

  • em:取自大寫字母 M 寬度,子元素顯示方式全來自於容器 (父層) 繼承的計算字級尺寸。在具有 2 英寸字級的元素中,1em 因此意味著 2 英寸。在 CSS 中 em 是一個比率,結合 CSS 繼承關係使用,具有靈活性。
  • ex:取自小寫字母 x 高度,其目的是與字型原始設定的 x-height 相關 [註2]。如當某圖像想與 x-height 齊高時,這時就很適合選擇 ex 單位使用。即使對於不包含 “x” 的字型,也定義了 ex (假定值為 0.5em)。
  • ch:等同於渲染字型中找到 “0”(ZERO,U + 0030)的字型預先測量值(假定值為文本方向橫向時為 0.5em 寬,直立時為 1em 高)。
  • rem:參照 HTML 根元素 root 的基準預設字級尺寸,1rem 等於 <p> 元素 font-size 屬性的初始值 [註3]。

[註2]:使用傳送卷軸,返回 鉄人2号「文本士」篇收集更多資料。
[註3]:為了更容易編寫僅依賴於默認字級尺寸的樣式規則,CSS 自 2013 再新增一單位:rem。與 em 使用差異是,在 rem 整個文檔中它是不變的 (預設情況下)。如要為 <p><h2> 元素提供相同的左外距,請相比兩者使用方式:

EM 版本:
p { margin-left: 1em; }
h2 { font-size: 3em; margin-left: 0.333em; }

REM 版本:
p { margin-left: 1rem; }
h2 { font-size: 3em; margin-left: 1rem; }

視口相對單位

(つд`゚)・゚・
:什麼時候偷追加了?
現在是!跟夢計較?!

  • vw (view width):參照瀏覽器視口寬度百分比。
  • vh (view height):參照瀏覽器視口高度的百分比。
  • vmin:參照瀏覽器視口短邊,等於相較小者 vwvh
  • vmax:參照瀏覽器視口長邊,等於 vwvh 中的較大者。

:好痛?!
什麼東西打到我?

摸摸頭 )

★ 撿到果實一粒:
:突然想起,
神秘 62.5% 之山林傳說:

rem 從預設字級 16px 轉換成 10px,透過以下設定:(預期狀態)

html { font-size: 62.5%; } /* 針對 <html> 標籤設置。 */
h1 { font-size: 3rem; } /* <h1> 字級顯示 30px; */

而當低於 google 瀏覽器預設最小支援字級為 12px 時:

html { font-size: 62.5%; } 
h5 { font-size: 1rem; } /* 預期 <h5> 字級為 10px,但卻顯示 12px? */
  • IE、Safari 和 Firefox 瀏覽器皆可支援低於 12px 以下字級。
  • 在 Chrome 瀏覽器,對於 font-size 屬性設置字級小於 12px 以下時,視窗大小符合 100% 皆是默認值 12px。(可經由用戶端重新設定最小支援字級)
  • 如 Chrome 瀏覽器視窗大小調整為 200%,字級設定 6px 可正常顯示。(誰想這麼做?

To Be Continued ...


[ 追加經驗值 ]
註:參考來源 Amos 網頁字級表及限制
Chris 前端新手村 CSS 的單位
CSS tips & tricks
Modular Scale


上一篇
鉄人28号FX 鉄人5号「功能獸」Display vs Text typeface
下一篇
鉄人28号FX 鉄人7号「字重牛」font-weight
系列文
鉄人28号FX30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Chris
iT邦新手 3 級 ‧ 2019-09-22 19:34:00

有我耶!是我嗎?CHris -> Chris

手刀改。當然是 chris 大。哈哈 得謝

我要留言

立即登入留言